1. Field of the Invention
The present invention generally relates to a technique for caching data such as audio, video and/or other data, and more particularly, to a method and system for caching data that uses information including future access request information for improved caching performance.
2. Background Information
Data caching is important to various aspects of computer systems such as memory systems, file systems, and internet (i.e., web) systems. The basic concept of data caching is to place data that is more likely to be accessed in the near future in a limited capacity, but relatively fast and expensive, cache storage element that is “closer” to the end user(s). Because of the limited cache storage capacity, the core of any cache system is its replacement algorithm which dictates what data item(s) should be removed from the cache when the cache is full and it is necessary to bring in a new data item.
Since data access sequences may not be known beforehand, existing caching techniques use replacement algorithms that are based on past access information. One existing replacement algorithm known as the “Least Recent Used” (LRU) algorithm is based on the assumption that once a data item is accessed it is likely to be accessed again in the future. Accordingly, with the LRU algorithm, the cached data item that was least recently accessed is replaced first. The LRU algorithm may, for example, be particularly applicable to memory and file systems. Another existing replacement algorithm known as the “Least Frequently Used” (LFU) algorithm is based on the assumption that a data item that was accessed frequently in the past is likely to be accessed again in the future. Accordingly, with the LFU algorithm, the cached data item that was accessed the fewest times in the past is replaced first. The LFU algorithm may, for example, be particularly applicable to internet or web-based systems.
While existing replacement algorithms such as the aforementioned LRU and LFU algorithms are beneficial for certain applications, they are also deficient in that they use only past access information and do not take future access information into account. Accordingly, there is a need for a technique for data caching that uses information including future access request information for improved caching performance. The present invention addresses these and/or other issues.